/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Datos;

import Negocio.Compras;
import Negocio.Factura;
import Negocio.Producto;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Jorge
 */
public class ComprasDB {
    public boolean grabar(Compras compra) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into producto_factura values("+compra.getF().getId()+", "+compra.getP().getId()+", "+compra.getP().getCantidad()+")";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public int eliminar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from producto_factura where id_producto =" + id;
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public int eliminarFact(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="delete from producto_factura where num_factura =" + id;
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    
    public Compras buscar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from producto_factura where num_factura =" + id ;        
        ResultSet resultado = db.seleccion(query);
        Compras compra=null;
        Factura fact = null;
        Producto prod = null;
        if (resultado!=null) {
            resultado.next();
            compra = new Compras();
            fact = new Factura();
            prod = new Producto();
            fact.setId(resultado.getInt("numero_factura"));           
            prod.setId(resultado.getInt("id_producto"));                        
            prod.setCantidad(resultado.getInt("cantidad"));
            compra.setF(fact);
            compra.setP(prod);
        } 
        db.cerrarConexion();
        return compra;
        
    }
    public ArrayList listar(int id) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query="select * from producto_factura where num_factura="+id;
        ResultSet resultado = db.seleccion(query);
        Compras compra=null;
        Factura fact = null;
        Producto prod = null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            compra = new Compras();
            fact = new Factura();
            prod = new Producto();
            fact.setId(resultado.getInt(1));           
            prod.setId(resultado.getInt(2));                        
            prod.setCantidad(resultado.getInt(3));
            compra.setF(fact);
            compra.setP(prod);
            todos.add(compra);
        }
        db.cerrarConexion();
        return todos;
    }
    
}
